home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 3 / Gold Medal Software - Volume 3 (Gold Medal) (1994).iso / windows / editprog / newvisda.arj / SQL.FRM < prev    next >
Text File  |  1994-03-08  |  5KB  |  218 lines

  1. VERSION 2.00
  2. Begin Form fSQL 
  3.    BackColor       =   &H00C0C0C0&
  4.    Caption         =   "SQL Statement"
  5.    ClientHeight    =   3135
  6.    ClientLeft      =   3045
  7.    ClientTop       =   3390
  8.    ClientWidth     =   5250
  9.    Height          =   3540
  10.    Icon            =   SQL.FRX:0000
  11.    Left            =   2985
  12.    LinkTopic       =   "Form1"
  13.    MDIChild        =   -1  'True
  14.    ScaleHeight     =   3116.879
  15.    ScaleMode       =   0  'User
  16.    ScaleWidth      =   5268
  17.    Top             =   3045
  18.    Width           =   5370
  19.    Begin CommandButton Command1 
  20.       Caption         =   "C&opy To Clipboard"
  21.       Height          =   375
  22.       Left            =   3120
  23.       TabIndex        =   5
  24.       Top             =   600
  25.       Width           =   1695
  26.    End
  27.    Begin CheckBox cPassThru 
  28.       BackColor       =   &H00C0C0C0&
  29.       Caption         =   "&SQL PassThrough"
  30.       Height          =   225
  31.       Left            =   210
  32.       TabIndex        =   4
  33.       Top             =   553
  34.       Width           =   2640
  35.    End
  36.    Begin CommandButton CreateQueryDefbtn 
  37.       Caption         =   "Create &QueryDef"
  38.       Height          =   375
  39.       Left            =   3120
  40.       TabIndex        =   3
  41.       Top             =   120
  42.       Visible         =   0   'False
  43.       Width           =   1695
  44.    End
  45.    Begin CommandButton ExecuteSQLButton 
  46.       Caption         =   "&Execute SQL"
  47.       Default         =   -1  'True
  48.       Enabled         =   0   'False
  49.       Height          =   372
  50.       Left            =   120
  51.       TabIndex        =   2
  52.       Top             =   120
  53.       Width           =   1332
  54.    End
  55.    Begin CommandButton ClearSQLButton 
  56.       Caption         =   "&Clear SQL"
  57.       Height          =   372
  58.       Left            =   1560
  59.       TabIndex        =   1
  60.       Top             =   120
  61.       Width           =   1332
  62.    End
  63.    Begin TextBox cSQLStatement 
  64.       BackColor       =   &H00FFFFFF&
  65.       Height          =   1932
  66.       Left            =   120
  67.       MultiLine       =   -1  'True
  68.       ScrollBars      =   2  'Vertical
  69.       TabIndex        =   0
  70.       Tag             =   "OL"
  71.       Top             =   1080
  72.       Width           =   5052
  73.    End
  74. End
  75. Option Explicit
  76.  
  77. Sub ClearSQLButton_Click ()
  78.   cSQLStatement = ""
  79.   cSQLStatement.SetFocus
  80. End Sub
  81.  
  82. Sub Command1_Click ()
  83. Clipboard.SetText cSQLStatement.Text
  84. End Sub
  85.  
  86. Sub CreateQueryDefbtn_Click ()
  87.   Dim qn As String
  88.   Dim q As querydef
  89.  
  90.   On Error GoTo CQDErr
  91.  
  92.   qn = InputBox("Enter QueryDef Name:")
  93.   If qn = "" Then Exit Sub
  94.  
  95.   Set q = gCurrentDB.CreateQueryDef(qn, cSQLStatement)
  96.   RefreshTables fTables.cTableList, True
  97.  
  98.   GoTo CQDEnd
  99.  
  100. CQDErr:
  101.   ShowError
  102.   Resume CQDEnd
  103.  
  104. CQDEnd:
  105.  
  106. End Sub
  107.  
  108. Sub cSQLStatement_Change ()
  109.   If cSQLStatement <> "" Then
  110.     ExecuteSQLButton.Enabled = True
  111.   Else
  112.     ExecuteSQLButton.Enabled = False
  113.   End If
  114. End Sub
  115.  
  116. Sub ExecuteSQLButton_Click ()
  117.    Dim RetSQL As Long
  118.  
  119.    If cSQLStatement = "" Then Exit Sub
  120.  
  121.    MsgBar "Executing SQL Statement", True
  122.    SetHourglass Me
  123.    If UCase(Mid(cSQLStatement, 1, 6)) = "SELECT" And InStr(UCase(cSQLStatement), " INTO ") = 0 Then
  124.      On Error GoTo SQLDSErr
  125. MakeDynaset:
  126.      gfFromSQL = True
  127.      'create a new dynaset form
  128.      gstDynaString = ""
  129.      On Error GoTo SQLDSErr
  130.      If VDMDI.cSingleRecord = True Then
  131.        Dim dsform1 As New fDynaset
  132.        dsform1.Show
  133.      ElseIf VDMDI.cDataCtl = True Then
  134.        Dim dsform2 As New fDataForm
  135.        dsform2.Show
  136.      Else
  137.        Dim dsform3 As New fGridFrm
  138.        dsform3.Show
  139.      End If
  140.    ElseIf UCase(cSQLStatement) = "LISTTABLES" Then
  141.      GoTo MakeDynaset
  142.    Else
  143.      On Error GoTo SQLErr
  144.      If gstDataType = "ODBC" Then
  145.        If UCase(Mid(cSQLStatement, 1, 4)) = "USE " Then
  146.          Beep
  147.          MsgBox "'Use' not allowed, try Open DataBase.", 48
  148.          GoTo SQLEnd
  149.        End If
  150.        RetSQL = gCurrentDB.ExecuteSQL(cSQLStatement)
  151.        If RetSQL > 0 Then
  152.          If gfTransPending Then gfDBChanged = True
  153.        End If
  154.        MsgBox CStr(RetSQL) + " row(s) Affected by SQL Statement.", 48
  155.      Else
  156.        gCurrentDB.Execute (cSQLStatement)
  157.        MsgBox "Execute of SQL Statement was Successful.", 48
  158.      End If
  159.  
  160.    End If
  161.  
  162.    GoTo SQLEnd
  163.  
  164. SQLErr:
  165.    If Err = 3065 Then   'row returning so try to create dynaset
  166.      Resume MakeDynaset
  167.    End If
  168.    ShowError
  169.    Resume SQLEnd
  170.  
  171. SQLDSErr:
  172.    Resume SQLEnd
  173.  
  174. SQLEnd:
  175.    ResetMouse Me
  176.    MsgBar "", False
  177.  
  178. End Sub
  179.  
  180. Sub Form_Load ()
  181.   Dim x As Integer
  182.  
  183.   cSQLStatement = GetINIString("SQLStatement", "")
  184.  
  185.   x = Val(GetINIString("SQLWindowHeight", "3000"))
  186.   Height = x
  187.   x = Val(GetINIString("SQLWindowWidth", "5370"))
  188.   Width = x
  189.   x = Val(GetINIString("SQLWindowTop", "0"))
  190.   Top = x
  191.   x = Val(GetINIString("SQLWindowLeft", CStr(fTables.Left + fTables.Width)))
  192.   Left = x
  193.  
  194. End Sub
  195.  
  196. Sub Form_Paint ()
  197.   Outlines Me
  198. End Sub
  199.  
  200. Sub Form_Resize ()
  201.   On Error Resume Next
  202.  
  203.   If WindowState <> 1 Then
  204.     cSQLStatement.Width = Width - 320
  205.     cSQLStatement.Height = Height - 1450
  206.     Outlines Me
  207.     Me.Refresh
  208.   End If
  209. End Sub
  210.  
  211. Sub Form_Unload (Cancel As Integer)
  212.   Dim x As Integer
  213.  
  214.   Me.WindowState = 1
  215.   Cancel = True
  216. End Sub
  217.  
  218.